# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.1063.1.19 -> 1.1063.1.20 # drivers/acpi/Config.help 1.1 -> (deleted) # drivers/acpi/include/adisasm.h 1.1 -> (deleted) # drivers/acpi/acpi_bus.h 1.1 -> (deleted) # Documentation/Configure.help 1.166.1.7 -> 1.166.1.8 # drivers/acpi/acpi_drivers.h 1.1 -> (deleted) # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 03/09/02 steiner@sgi.com 1.1069.1.36 # ia64: remove some SN1 remnants, add a bit more SN2 support. # # linux/arch/ia64/config.in # - delete some remnents of support for the SGI SN1 platform # - add config option for SN2. # # linux_base/arch/ia64/kernel/Makefile # - fix compile error (SN2 needs iosapic.o) # # linux/arch/ia64/acpi.c # - update acpi.c to recognize the SN2 platform # # linux/arch/ia64/kernel/efi_stub.S # linux/arch/ia64/kernel/head.S # linux/arch/ia64/kernel/pal.S # - backport of 2.6 "ia64_switch_mode" changes for non-identity # mapped kernels # -------------------------------------------- # 03/09/02 bjorn.helgaas@hp.com 1.1084 # Merge hp.com:/home/helgaas/linux/to-marcelo-2.4 # into hp.com:/home/helgaas/linux/linux-ia64-2.4 # -------------------------------------------- # 03/09/02 bjorn.helgaas@hp.com 1.1085 # Merge hp.com:/home/helgaas/linux/ia64-extras # into hp.com:/home/helgaas/linux/linux-ia64-2.4 # -------------------------------------------- # 03/09/03 jgarzik@redhat.com 1.1063.2.68 # Merge redhat.com:/spare/repo/linux-2.4 # into redhat.com:/spare/repo/net-drivers-2.4 # -------------------------------------------- # 03/09/03 bunk@fs.tum.de 1.1063.2.69 # [wireless airo] fix build with gcc 2.95 # -------------------------------------------- # 03/09/03 marcelo@logos.cnet 1.1063.38.13 # Cset exclude: agruen@suse.de|ChangeSet|20030902115108|61891 # -------------------------------------------- # 03/09/03 xose@wanadoo.es 1.1063.2.70 # [netdrvr 3c59x] update pci ids # # In 2.4.23-pre2 two pci.ids are missing and there is one duplicate. # 2.6.0-preX driver is ok. # -------------------------------------------- # 03/09/03 jgarzik@redhat.com 1.1063.2.71 # [netdrvr] add MV-64340 gigabit ethernet driver (MIPS only) # # Contributed via Marcelo via Ralf, the MIPS maintainer. # -------------------------------------------- # 03/09/03 jgarzik@redhat.com 1.1063.2.72 # [netdrvr 3c515] fix non-modular build # -------------------------------------------- # 03/09/03 mlindner@syskonnect.de 1.1063.2.73 # [netdrvr sk98lin] update to driver version 6.17 # -------------------------------------------- # 03/09/03 jgarzik@redhat.com 1.1063.2.74 # Cset exclude: jgarzik@redhat.com|ChangeSet|20030826234629|07076 # -------------------------------------------- # 03/09/03 javier@tudela.mad.ttd.net 1.1063.2.75 # [wireless airo] Build fixes when MIC disabled # -------------------------------------------- # 03/09/03 javier@tudela.mad.ttd.net 1.1063.2.76 # [wireless airo] PCI detection code fixes # -------------------------------------------- # 03/09/03 javier@tudela.mad.ttd.net 1.1063.2.77 # [wireless airo] MIC support using CryptoAPI # -------------------------------------------- # 03/09/03 marcelo@logos.cnet 1.1063.38.14 # Adrian & Chantal: Unused variable in ip2main.c # -------------------------------------------- # 03/09/03 m.c.p@wolk-project.de 1.1063.38.15 # [PATCH] Add missing IRQ_NONE clash fix hunk # # > This change added an (empty) IRQ_NONE #define to interrupt.h. # > Several scsi drivers are already using an IRQ_NONE. Rename that to # > SCSI_IRQ_NONE (a similar change was done in 2.5 by Andrew Morton several # > months ago). # # right, but you forgot one header :-) ... Attached is a patch. # -------------------------------------------- # 03/09/03 marcelo@logos.cnet 1.1063.2.78 # Merge bk://kernel.bkbits.net/jgarzik/net-drivers-2.4 # into logos.cnet:/home/marcelo/bk/linux-2.4 # -------------------------------------------- # 03/09/03 greg@kroah.com 1.1063.40.1 # [PATCH] USB: fix data toggle problem for pl2303 driver. # -------------------------------------------- # 03/09/03 greg@kroah.com 1.1063.40.2 # [PATCH] USB: update usb-serial.h with spelling fixes and get and set functions # # Based off of the current 2.6 version, makes keeping the usb-serial drivers # more in sync between the two trees. # -------------------------------------------- # 03/09/03 marcel@holtmann.org 1.1063.2.79 # [PATCH] PCI quirk for SMBus bridge on Asus P4 boards # # Hi Marcelo, # # this has been in 2.5 for some time now and I think it can be added to 2.4 too. # # ChangeSet@1.1131, 2003-09-03 08:42:53+02:00, marcel@holtmann.org # [PATCH] PCI quirk for SMBus bridge on Asus P4 boards # # Asus hides the SMBus PCI bridge within the ICH2 or ICH4 southbridge on # Asus P4 mainboards. The attached patch adds a quirk to re-enable the # SMBus PCI bridge for P4B533, P4T533, P4PE and P4G8X Deluxe mainboards. # # Original patch for 2.5 from Dominik Brodowski # # drivers/pci/quirks.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ # include/linux/pci_ids.h | 4 ++ # 2 files changed, 70 insertions(+) # -------------------------------------------- # 03/09/03 marcelo@logos.cnet 1.1063.2.80 # Changed EXTRAVERSION to -pre3 # -------------------------------------------- # 03/09/03 jt@bougret.hpl.hp.com 1.1063.2.81 # [PATCH] wireless extension update: 802.11a/802.11g fixes # # Hi Marcelo, # # Could you add this in 2.4.23 ? # This patch update Wireless Extensions to v16. This is the same # patch that went into kernel 2.5.70, but rediffed and tested with # 2.4.23-pre2. # This update fixes a few details for 802.11a/802.11g support, # like increasing the number of frequencies and bitrates. It also # features an improved iwspy support. # Note that airo.c included in 2.4.23-pre2 already include WE-16 # support, so this patch is needed to enable this support. Of course, I # tested that airo.c works properly after the upgrade. # # Thanks... # # Jean # -------------------------------------------- # 03/09/03 chas@nrl.navy.mil 1.1063.41.1 # [ATM]: In atm_getaddr() do not copy_to_user() with locks held. # -------------------------------------------- # 03/09/03 chas@cmf.nrl.navy.mil 1.1063.41.2 # [ATM]: If clip isn't a module don't __MOD_DEC_USE_COUNT(). # -------------------------------------------- # 03/09/03 chas@cmf.nrl.navy.mil 1.1063.41.3 # [ATM]: #define'ing pci_pool_create() breaks CONFIG_MODVERSION. # -------------------------------------------- # 03/09/04 laforge@netfilter.org 1.1063.41.4 # [NETFILTER]: NAT range calculation fix. # # This patch fixes a logic bug in NAT range calculations, which also # causes a large slowdown when ICMP floods go through NAT. # # Author: Karlis Piesenieks # -------------------------------------------- # 03/09/04 karlis@mt.lv 1.1063.41.5 # [BRIDGE]: kfree --> kfree_skb. # -------------------------------------------- # 03/09/04 neilb@cse.unsw.edu.au 1.1063.2.82 # [PATCH] knfsd: Lock client list while detaching locks # # From: Mark Hemment # # The 'client' list should always be protected by the export table lock, # but it isn't here! # -------------------------------------------- # 03/09/04 neilb@cse.unsw.edu.au 1.1063.2.83 # [PATCH] knfsd: Set d_op when creating a parent directory during nfsd fh->dentry conversion # # ### Comments for ChangeSet # # While it is not necessarily safe to assume the parent has the same # d_op as the child, it is safe than assuming the parent has a d_op of NULL. # # ----------- Diffstat output ------------ # ./fs/nfsd/nfsfh.c | 1 + # 1 files changed, 1 insertion(+) # -------------------------------------------- # 03/09/04 neilb@cse.unsw.edu.au 1.1063.2.84 # [PATCH] knfsd: lockd fails to purge blocked NLM_LOCKs # # From: Mark Hemment # # When stopping server-side NFS, or deleting a client (NFSCTL_DELCLIENT), # lockd fails to purge blocked lockd requests. # # The call path is; # exp_freeclient() # nfsd_lockd_unexport() # nlmsvc_invalidate_client() # # Where nlmsvc_invalidate_client(), looks up the host with; # host = nlm_lookup_host(clnt, NULL, 0, 0) # ie. the host-lookup keys off the client's "svc_client" (memory) address # from NFSD's "clients" list. # # This "host" value is passed through; # nlmsvc_free_host_resources() # nlm_traverse_files() # nlm_inspect_file() # and into nlmsvc_traverse_blocks(), where blocked locks are tested for # with; # nlmsvc_traverse_blocks(host, ....) # { # ... # if (host == NULL || host == block->b_host) # nlmsvc_delete_block(block, 1); # ... # } # # However, where the block entries are created in nlmsvc_create_block(); # host = nlmclnt_lookup_host(&rqstp->rq_addr, # rqstp->rq_prot, rqstp->rq_vers); # ... # block->b_host = host; # # this host-lookup (nlmclnt_lookup_host()) is keyed off the client's network # address. # # So, back in nlmsvc_traverse_blocks() the test; # host == block->b_host # is checking different values; "host" found via "svc_client"s memory # address and "b_host" found/created via the client's network address. # # The bug/confusion probably originates as "nlm_hosts[]" is overload with # two different types of entries. # # nlmsvc_create_block() still needs to create an entry in nlm_hosts[] for # the sending of the 'NLM_GRANTED', but it already stores a reference to # that entry in "call->a_host". # Solution is to use the value in "call->a_host" for the # nlm_rebind_host(), and to set "b_host" with the host value found via an # nlmsvc_lookup_host(). # -------------------------------------------- # 03/09/04 neilb@cse.unsw.edu.au 1.1063.2.85 # [PATCH] Fix typo in umem.c # # This would only cause a problem if initialising a device fails part-way # through, so it probably hasn't hurt anyone. # -------------------------------------------- # 03/09/04 greg@kroah.com 1.1063.40.3 # [PATCH] USB: backport some pl2303 B0 fixes. # # Also add proper locking for the port structure. This comes from the 2.6 # kernel tree too. # -------------------------------------------- # 03/09/04 eranian@hpl.hp.com 1.1069.1.37 # ia64: Fix perfmon usage of rum/srsm and sum/ssm # # - fixes a problem with the rum/sum instructions being inoperative even # at priv level zero when psr.sp=0. Switching to ssm/rsm fixes the # potential problem. # -------------------------------------------- # 03/09/04 arjanv@redhat.com 1.1063.2.86 # [PATCH] LSB compliance fix in mprotect # # Hi, # # The following fix is needed for the mprotect code in order to make the 2.4 # kernel pass the LSB testsuite. # # Posix/SUS specify, per # # http://www.opengroup.org/onlinepubs/007904975/functions/mprotect.html # # that mprotect is allowed to return -EINVAL only in the case of the address # not being page aligned. Any other address and address range errors are # supposed to return -ENOMEM. # # Greetings, # Arjan van de Ven # -------------------------------------------- # 03/09/04 neilb@cse.unsw.edu.au 1.1063.2.87 # [PATCH] knfsd: Make sure nfs/tcp socket only gets closed # # It is possible for svc_delete_socket to be called multiple times, # which can cause problems. This patch uses SK_DEAD to make sure it # only has any effect the first time, and uses SK_DEAD in a few other # places to make sure nothing is done on a deleted socket. # -------------------------------------------- # 03/09/04 neilb@cse.unsw.edu.au 1.1063.2.88 # [PATCH] knfsd: Change name of a #define in nfsd to match 2.6 # # ### Comments for ChangeSet # # The meaning is "nohide" not "crossmnt", so we # should spell it that way. # # ----------- Diffstat output ------------ # ./fs/nfsd/export.c | 2 +- # ./fs/nfsd/vfs.c | 6 +++--- # ./include/linux/nfsd/export.h | 4 ++-- # 3 files changed, 6 insertions(+), 6 deletions(-) # -------------------------------------------- # 03/09/04 neilb@cse.unsw.edu.au 1.1063.2.89 # [PATCH] knfsd: Make sure nfsd replies from the address the request was sent to. # # This is important on multi-homes hosts. # -------------------------------------------- # 03/09/04 m.c.p@wolk-project.de 1.1063.2.90 # [PATCH] Fixup 'make xconfig' problem caused by fetchop Config.in change # # On Thursday 04 September 2003 05:18, Supphachoke Suntiwichaya wrote: # # Hi Mrchoke, # # > I can't make xconfig :: # > [root@potter linux-2.4.23-pre3]# make xconfig # > rm -f include/asm # > ( cd include ; ln -sf asm-i386 asm) # > make -C scripts kconfig.tk # > make[1]: Entering directory `/usr/src/linux-2.4.23-pre3/scripts' # > cat header.tk >> ./kconfig.tk # > ./tkparse < ../arch/i386/config.in >> kconfig.tk # > drivers/char/Config.in: 270: bad if condition # > make[1]: *** [kconfig.tk] Error 1 # > make[1]: Leaving directory `/usr/src/linux-2.4.23-pre3/scripts' # > make: *** [xconfig] Error 2 # # I can ... with the attached fix :p # # Marcelo, please apply this too. Thank you. # -------------------------------------------- # 03/09/04 paulkf@microgate.com 1.1063.2.91 # [PATCH] synclink update # # * Add support for version 2 of synclink PCI adapter # * Fix arbitration between net open and tty open # * Use time_after() macro # * Use mod_timer() macro # * Fix RCC underrun handling # # Please apply. # # # -- # Paul Fulghum, paulkf@microgate.com # Microgate Corporation, http://www.microgate.com # -------------------------------------------- # 03/09/04 paulkf@microgate.com 1.1063.2.92 # [PATCH] synclinkmp update # # * fix arbitration between net open and tty open # * add MODULE_LICENSE() macro # * use time_after() macro # -------------------------------------------- # 03/09/04 paulkf@microgate.com 1.1063.2.93 # [PATCH] synclink_cs update # # * fix arbitration between net open and tty open # * add MODULE_LICENSE() macro # * add dosyncppp module parameter # # Please apply # # -- # Paul Fulghum, paulkf@microgate.com # Microgate Corporation, http://www.microgate.com # -------------------------------------------- # 03/09/04 paulkf@microgate.com 1.1063.2.94 # [PATCH] n_hdlc update # # * make global vars static # * fix memory leak # # please apply # # -- # Paul Fulghum, paulkf@microgate.com # Microgate Corporation, http://www.microgate.com # -------------------------------------------- # 03/09/04 erikj@subway.americas.sgi.com 1.1069.1.38 # ia64: 9/3/2003 SGI update. # -------------------------------------------- # 03/09/04 bjorn.helgaas@hp.com 1.1086 # Merge hp.com:/home/helgaas/linux/to-marcelo-2.4 # into hp.com:/home/helgaas/linux/linux-ia64-2.4 # -------------------------------------------- # 03/09/04 marcelo@logos.cnet 1.1063.2.95 # Mehmet Ceyran/Alan Cox: Longer i810_audio.c retries # -------------------------------------------- # 03/09/05 davem@kernel.bkbits.net 1.1063.2.96 # Merge nuts.ninka.net:/disk1/davem/BK/net-2.4 # into kernel.bkbits.net:/home/davem/net-2.4 # -------------------------------------------- # 03/09/05 paulus@samba.org 1.1063.42.1 # PPC32: Handle single-stepped emulated instructions correctly. # # When we emulate an instruction in the kernel (e.g. for an alignment # exception, or if we are doing FP emulation), we need to check if # we are single-stepping after we successfully emulate the instruction. # If so we deliver a SIGTRAP to the process. # -------------------------------------------- # 03/09/05 daniel@deadlock.et.tudelft.nl 1.1063.2.97 # [PATCH] Implement LCD display support in atyfb driver # # + LCD display detection code added # + LCD mode calculation code added # + Enable interlacing when requested instead of abort with error # + Enable double scan when requested instead of abort with error # * Clock programming code rewritten to support asynchrone clocks, necessary # to clock all Rage chips at the right frequencies # * Clock table checked and updated with information from ATi # * Display fifo code rewritten to take into account lcd mode # calculations and eliminate display artifacts at very low resolution # video modes # + Added possibility to disable clock programming code in case of # problems by modprobing with 'default_xclk=-1 default_mclk=-1' # -------------------------------------------- # 03/09/05 trini@kernel.crashing.org 1.1063.2.98 # PPC32: Minor bootwrapper fixups. # -------------------------------------------- # 03/09/05 trini@kernel.crashing.org 1.1063.2.99 # Merge kernel.crashing.org:/home/trini/work/kernel/pristine/linux-2.4-misc # into kernel.crashing.org:/home/trini/work/kernel/pristine/for-marcelo-ppc # -------------------------------------------- # 03/09/05 trini@kernel.crashing.org 1.1063.2.100 # Merge kernel.crashing.org:/home/trini/work/kernel/pristine/linux-2.4-8260 # into kernel.crashing.org:/home/trini/work/kernel/pristine/for-marcelo-ppc # -------------------------------------------- # 03/09/05 greg@kroah.com 1.1063.40.4 # [PATCH] USB: fix oops when yanking a usb-serial device from the system with the port still opened. # # Thanks to Ian Abbott for help finding this bug. # -------------------------------------------- # 03/09/05 greg@kroah.com 1.1063.40.5 # [PATCH] USB: fix copy_from_user call in acm.c # -------------------------------------------- # 03/09/05 greg@kroah.com 1.1063.40.6 # [PATCH] USB: fix copy_from_user call in aiptek.c # -------------------------------------------- # 03/09/05 greg@kroah.com 1.1063.40.7 # [PATCH] USB: fix copy_to_user call in uhci-debug.h # -------------------------------------------- # 03/09/05 greg@kroah.com 1.1063.40.8 # [PATCH] USB: fix copy_to_user call in mdc800 driver # -------------------------------------------- # 03/09/05 greg@kroah.com 1.1063.40.9 # [PATCH] USB: remove duplicated copy_from_user call in stv680 driver # -------------------------------------------- # 03/09/05 greg@kroah.com 1.1063.40.10 # [PATCH] USB: fix copy_to_user calls in vicam driver. # -------------------------------------------- # 03/09/05 joris@struyve.be 1.1063.40.11 # [PATCH] unusual_devs.h entry # # Hereby you may find my patch for a Medion digital camera along with the # /proc/bus/usb/devices output. # -------------------------------------------- # 03/09/05 greg@kroah.com 1.1063.43.1 # Merge kroah.com:/home/linux/BK/bleed-2.4 # into kroah.com:/home/linux/BK/gregkh-2.4 # -------------------------------------------- # 03/09/06 paulus@samba.org 1.1063.2.101 # PPC32: Fix for highmem on machines with 64-bit PTEs (e.g. PPC440) # -------------------------------------------- # 03/09/06 paulus@samba.org 1.1063.2.102 # PPC32: Simplify VMALLOC_START, make it just a variable. # # Previously VMALLOC_START was a complex expression which was reevaluated each # time it was used, and it had multiple ifdefs around it. Now VMALLOC_START # is defined to be vmalloc_start, which is a variable computed once at mem_init # time. # -------------------------------------------- # 03/09/06 paulus@samba.org 1.1063.2.103 # PPC32: Fix a typo in the PPC 440GP support. # -------------------------------------------- # 03/09/06 paulus@samba.org 1.1063.2.104 # PPC32: Fix a bug where TLB entries didn't get execute permission on 40x. # -------------------------------------------- # 03/09/08 bjorn.helgaas@hp.com 1.1063.1.20 # Remove extra diffs left over from the ACPI update (IA64 carried around # a newer ACPI for a long time before 2.4 adopted it). # -------------------------------------------- # diff -Nru a/Documentation/Configure.help b/Documentation/Configure.help --- a/Documentation/Configure.help Wed Oct 8 09:06:23 2003 +++ b/Documentation/Configure.help Wed Oct 8 09:06:23 2003 @@ -19043,6 +19043,20 @@ down the system. Until then, you can cat it, and see output when a button is pressed. +CONFIG_ACPI_BATTERY + This driver adds support for battery information through + /proc/acpi/battery. If you have a mobile system with a battery, + say Y. + +CONFIG_ACPI_FAN + This driver adds support for ACPI fan devices, allowing user-mode + applications to perform basic fan control (on, off, status). + +CONFIG_ACPI_PROCESSOR + This driver installs ACPI as the idle handler for Linux, and uses + ACPI C2 and C3 processor states to save power, on systems that + support it. + ACPI AC Adapter CONFIG_ACPI_AC This driver adds support for the AC Adapter object, which indicates @@ -19052,18 +19066,65 @@ ACPI Embedded Controller CONFIG_ACPI_EC This driver is required on some systems for the proper operation of - the battery and thermal drivers. If you are compiling for a - mobile system, say Y. + the battery and thermal drivers. If you are compiling for a laptop, + say Y. -CONFIG_ACPI_PROCESSOR - This driver installs ACPI as the idle handler for Linux, and uses - ACPI C2 and C3 processor states to save power, on systems that - support it. +ACPI Control Method Battery +CONFIG_ACPI_CMBATT + This driver adds support for battery information through + /proc/acpi/battery. If you have a laptop with a battery, say Y. +ACPI Thermal CONFIG_ACPI_THERMAL This driver handles overheating conditions on laptops. It is HIGHLY recommended, as your laptop CPU may be damaged without it. +ACPI ASUS/Medion Laptop Extras +CONFIG_ACPI_ASUS + This driver provides support for extra features of ACPI-compatible + ASUS laptops. As some of Medion laptops are made by ASUS, it may also + support some Medion laptops (such as 9675 for example). It makes all + the extra buttons generate standard ACPI events that go through + /proc/acpi/events, and (on some models) adds support for changing the + display brightness and output, switching the LCD backlight on and off, + and most importantly, allows you to blink those fancy LEDs intended + for reporting mail and wireless status. + + All settings are changed via /proc/acpi/asus directory entries. Owner + and group for these entries can be set with asus_uid and asus_gid + parameters. + + More information and a userspace daemon for handling the extra buttons + at . + + If you have an ACPI-compatible ASUS laptop, say Y or M here. This + driver is still under development, so if your laptop is unsupported or + something works not quite as expected, please use the mailing list + available on the above page (acpi4asus-user@lists.sourceforge.net) + +ACPI Toshiba Laptop Extras +CONFIG_ACPI_TOSHIBA + This driver adds support for access to certain system settings + on "legacy free" Toshiba laptops. These laptops can be recognized by + their lack of a BIOS setup menu and APM support. + + On these machines, all system configuration is handled through the + ACPI. This driver is required for access to controls not covered + by the general ACPI drivers, such as LCD brightness, video output, + etc. + + This driver differs from the non-ACPI Toshiba laptop driver (located + under "Processor type and features") in several aspects. + Configuration is accessed by reading and writing text files in the + /proc tree instead of by program interface to /dev. Furthermore, no + power management functions are exposed, as those are handled by the + general ACPI drivers. + + More information about this driver is available at + . + + If you have a legacy free Toshiba laptop (such as the Libretto L1 + series), say Y. Advanced Power Management BIOS support CONFIG_APM diff -Nru a/drivers/acpi/Config.help b/drivers/acpi/Config.help --- a/drivers/acpi/Config.help Wed Oct 8 09:06:23 2003 +++ /dev/null Wed Dec 31 16:00:00 1969 @@ -1,93 +0,0 @@ -CONFIG_ACPI_ENABLE - Advanced Configuration and Power Interface (ACPI) support for - Linux requires an ACPI compliant platform (hardware/firmware), - and assumes the presence of OS-directed configuration and power - management (OSPM) software. This option will enlarge your - kernel by about 70K. - - Linux ACPI provides a robust functional replacement for several - legacy configuration and power management intefaces, including - the Plug-and-Play BIOS specification (PnP BIOS), the - MultiProcessor Specification (MPS), and the Advanced Power - Management (APM) specification. If both ACPI and APM support - are configured, whichever is loaded first shall be used. - - Add "acpi=off" to the kernel command line to disable this feature. - (Try "man bootparam" or see the documentation of your boot loader - about how to pass options to the kernel at boot time.) - - Add "acpi=ht-only" to the kernel command line to limit ACPI - support to processor enumeration only (see CONFIG_ACPI_HT_ONLY). - - ---------- - - The ACPI SourceForge project contains the latest source code, - documentation, tools, mailing list subscription, and other - information. This project is available at: - - - Linux support for ACPI is based on Intel Corporation's ACPI - Component Architecture (ACPI CA). For more information see: - - - ACPI is an open industry specification co-developed by Compaq, - Intel, Microsoft, Phoenix, and Toshiba. The specification is - available at: - - -CONFIG_ACPI_HT_ONLY - This option enables limited ACPI support -- just enough to - enumerate processors from the ACPI Multiple APIC Description - Table (MADT). Note that ACPI supports both logical (e.g. Hyper- - Threading) and physical processors, where the MultiProcessor - Specification (MPS) table only supports physical processors. - - Full ACPI support (CONFIG_ACPI) is preferred. Use this option - only if you wish to limit ACPI's role to processor enumeration. - -CONFIG_ACPI_AC - This driver adds support for the AC Adapter object, which indicates - whether a system is on AC, or not. Typically, only mobile systems - have this object, since desktops are always on AC. - -CONFIG_ACPI_BATTERY - This driver adds support for battery information through - /proc/acpi/battery. If you have a mobile system with a battery, - say Y. - -CONFIG_ACPI_BUTTON - This driver registers for events based on buttons, such as the - power, sleep, and lid switch. In the future, a daemon will read - /proc/acpi/event and perform user-defined actions such as shutting - down the system. Until then, you can cat it, and see output when - a button is pressed. - -CONFIG_ACPI_EC - This driver is required on some systems for the proper operation of - the battery and thermal drivers. If you are compiling for a - mobile system, say Y. - -CONFIG_ACPI_PROCESSOR - This driver installs ACPI as the idle handler for Linux, and uses - ACPI C2 and C3 processor states to save power, on systems that - support it. - -CONFIG_ACPI_THERMAL - This driver adds support for ACPI thermal zones. Most mobile and - some desktop systems support ACPI thermal zones. It is HIGHLY - recommended that this option be enabled, as your processor(s) - may be damaged without it. - -CONFIG_ACPI_FAN - This driver adds support for ACPI fan devices, allowing user-mode - applications to perform basic fan control (on, off, status). - -CONFIG_ACPI_SYSTEM - This driver will enable your system to shut down using ACPI, and - dump your ACPI DSDT table using /proc/acpi/dsdt. - -CONFIG_ACPI_DEBUG - The ACPI driver can optionally report errors with a great deal - of verbosity. Saying Y enables these statements. This will increase - your kernel size by around 50K. - diff -Nru a/drivers/acpi/acpi_bus.h b/drivers/acpi/acpi_bus.h --- a/drivers/acpi/acpi_bus.h Wed Oct 8 09:06:23 2003 +++ /dev/null Wed Dec 31 16:00:00 1969 @@ -1,321 +0,0 @@ -/* - * acpi_bus.h - ACPI Bus Driver ($Revision: 21 $) - * - * Copyright (C) 2001, 2002 Andy Grover - * Copyright (C) 2001, 2002 Paul Diefenbaugh - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or (at - * your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - */ - -#ifndef __ACPI_BUS_H__ -#define __ACPI_BUS_H__ - -#include - -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,4)) -#include -#define CONFIG_LDM -#endif - -#include "include/acpi.h" - - -/* TBD: Make dynamic */ -#define ACPI_MAX_HANDLES 10 -struct acpi_handle_list { - u32 count; - acpi_handle handles[ACPI_MAX_HANDLES]; -}; - - -/* acpi_utils.h */ -acpi_status acpi_extract_package (acpi_object *, acpi_buffer *, acpi_buffer *); -acpi_status acpi_evaluate (acpi_handle, acpi_string, acpi_object_list *, acpi_buffer *); -acpi_status acpi_evaluate_integer (acpi_handle, acpi_string, acpi_object_list *, unsigned long *); -acpi_status acpi_evaluate_reference (acpi_handle, acpi_string, acpi_object_list *, struct acpi_handle_list *); - - -#ifdef CONFIG_ACPI_BUS - -#include - -#define ACPI_BUS_FILE_ROOT "acpi" -extern struct proc_dir_entry *acpi_root_dir; -extern FADT_DESCRIPTOR acpi_fadt; - -enum acpi_bus_removal_type { - ACPI_BUS_REMOVAL_NORMAL = 0, - ACPI_BUS_REMOVAL_EJECT, - ACPI_BUS_REMOVAL_SUPRISE, - ACPI_BUS_REMOVAL_TYPE_COUNT -}; - -enum acpi_bus_device_type { - ACPI_BUS_TYPE_DEVICE = 0, - ACPI_BUS_TYPE_POWER, - ACPI_BUS_TYPE_PROCESSOR, - ACPI_BUS_TYPE_THERMAL, - ACPI_BUS_TYPE_SYSTEM, - ACPI_BUS_TYPE_POWER_BUTTON, - ACPI_BUS_TYPE_SLEEP_BUTTON, - ACPI_BUS_DEVICE_TYPE_COUNT -}; - -struct acpi_driver; -struct acpi_device; - - -/* - * ACPI Driver - * ----------- - */ - -typedef int (*acpi_op_add) (struct acpi_device *device); -typedef int (*acpi_op_remove) (struct acpi_device *device, int type); -typedef int (*acpi_op_lock) (struct acpi_device *device, int type); -typedef int (*acpi_op_start) (struct acpi_device *device); -typedef int (*acpi_op_stop) (struct acpi_device *device, int type); -typedef int (*acpi_op_suspend) (struct acpi_device *device, int state); -typedef int (*acpi_op_resume) (struct acpi_device *device, int state); -typedef int (*acpi_op_scan) (struct acpi_device *device); -typedef int (*acpi_op_bind) (struct acpi_device *device); - -struct acpi_device_ops { - acpi_op_add add; - acpi_op_remove remove; - acpi_op_lock lock; - acpi_op_start start; - acpi_op_stop stop; - acpi_op_suspend suspend; - acpi_op_resume resume; - acpi_op_scan scan; - acpi_op_bind bind; -}; - -struct acpi_driver { - struct list_head node; - char name[80]; - char class[80]; - int references; - char *ids; /* Supported Hardware IDs */ - struct acpi_device_ops ops; -}; - -enum acpi_blacklist_predicates -{ - all_versions, - less_than_or_equal, - equal, - greater_than_or_equal, -}; - -struct acpi_blacklist_item -{ - char oem_id[7]; - char oem_table_id[9]; - u32 oem_revision; - acpi_table_type table; - enum acpi_blacklist_predicates oem_revision_predicate; - char *reason; - u32 is_critical_error; -}; - - -/* - * ACPI Device - * ----------- - */ - -/* Status (_STA) */ - -struct acpi_device_status { - u32 present:1; - u32 enabled:1; - u32 show_in_ui:1; - u32 functional:1; - u32 battery_present:1; - u32 reserved:27; -}; - - -/* Flags */ - -struct acpi_device_flags { - u32 dynamic_status:1; - u32 hardware_id:1; - u32 compatible_ids:1; - u32 bus_address:1; - u32 unique_id:1; - u32 removable:1; - u32 ejectable:1; - u32 lockable:1; - u32 suprise_removal_ok:1; - u32 power_manageable:1; - u32 performance_manageable:1; - u32 reserved:21; -}; - - -/* File System */ - -struct acpi_device_dir { - struct proc_dir_entry *entry; -}; - -#define acpi_device_dir(d) ((d)->dir.entry) - - -/* Plug and Play */ - -typedef char acpi_bus_id[5]; -typedef unsigned long acpi_bus_address; -typedef char acpi_hardware_id[9]; -typedef char acpi_unique_id[9]; -typedef char acpi_device_name[40]; -typedef char acpi_device_class[20]; - -struct acpi_device_pnp { - acpi_bus_id bus_id; /* Object name */ - acpi_bus_address bus_address; /* _ADR */ - acpi_hardware_id hardware_id; /* _HID */ - acpi_unique_id unique_id; /* _UID */ - acpi_device_name device_name; /* Driver-determined */ - acpi_device_class device_class; /* " */ -}; - -#define acpi_device_bid(d) ((d)->pnp.bus_id) -#define acpi_device_adr(d) ((d)->pnp.bus_address) -#define acpi_device_hid(d) ((d)->pnp.hardware_id) -#define acpi_device_uid(d) ((d)->pnp.unique_id) -#define acpi_device_name(d) ((d)->pnp.device_name) -#define acpi_device_class(d) ((d)->pnp.device_class) - - -/* Power Management */ - -struct acpi_device_power_flags { - u32 explicit_get:1; /* _PSC present? */ - u32 power_resources:1; /* Power resources */ - u32 inrush_current:1; /* Serialize Dx->D0 */ - u32 wake_capable:1; /* Wakeup supported? */ - u32 wake_enabled:1; /* Enabled for wakeup */ - u32 power_removed:1; /* Optimize Dx->D0 */ - u32 reserved:26; -}; - -struct acpi_device_power_state { - struct { - u8 valid:1; - u8 explicit_set:1; /* _PSx present? */ - u8 reserved:6; - } flags; - int power; /* % Power (compared to D0) */ - int latency; /* Dx->D0 time (microseconds) */ - struct acpi_handle_list resources; /* Power resources referenced */ -}; - -struct acpi_device_power { - int state; /* Current state */ - struct acpi_device_power_flags flags; - struct acpi_device_power_state states[4]; /* Power states (D0-D3) */ -}; - - -/* Performance Management */ - -struct acpi_device_perf_flags { - u8 reserved:8; -}; - -struct acpi_device_perf_state { - struct { - u8 valid:1; - u8 reserved:7; - } flags; - u8 power; /* % Power (compared to P0) */ - u8 performance; /* % Performance ( " ) */ - int latency; /* Px->P0 time (microseconds) */ -}; - -struct acpi_device_perf { - int state; - struct acpi_device_perf_flags flags; - int state_count; - struct acpi_device_perf_state *states; -}; - - -/* Device */ - -struct acpi_device { - acpi_handle handle; - struct acpi_device *parent; - struct list_head children; - struct list_head node; - struct acpi_device_status status; - struct acpi_device_flags flags; - struct acpi_device_pnp pnp; - struct acpi_device_power power; - struct acpi_device_perf performance; - struct acpi_device_dir dir; - struct acpi_device_ops ops; - struct acpi_driver *driver; - void *driver_data; -#ifdef CONFIG_LDM - struct device dev; -#endif -}; - -#define acpi_driver_data(d) ((d)->driver_data) - - -/* - * Events - * ------ - */ - -struct acpi_bus_event { - struct list_head node; - acpi_device_class device_class; - acpi_bus_id bus_id; - u32 type; - u32 data; -}; - - -/* - * External Functions - */ - -int acpi_bus_get_device(acpi_handle, struct acpi_device **device); -int acpi_bus_get_status (struct acpi_device *device); -int acpi_bus_get_power (acpi_handle handle, int *state); -int acpi_bus_set_power (acpi_handle handle, int state); -int acpi_bus_generate_event (struct acpi_device *device, u8 type, int data); -int acpi_bus_receive_event (struct acpi_bus_event *event); -int acpi_bus_register_driver (struct acpi_driver *driver); -int acpi_bus_unregister_driver (struct acpi_driver *driver); -int acpi_bus_scan (struct acpi_device *device); -int acpi_init (void); -void acpi_exit (void); - - -#endif /*CONFIG_ACPI_BUS*/ - -#endif /*__ACPI_BUS_H__*/ diff -Nru a/drivers/acpi/acpi_drivers.h b/drivers/acpi/acpi_drivers.h --- a/drivers/acpi/acpi_drivers.h Wed Oct 8 09:06:23 2003 +++ /dev/null Wed Dec 31 16:00:00 1969 @@ -1,345 +0,0 @@ -/* - * acpi_drivers.h ($Revision: 29 $) - * - * Copyright (C) 2001, 2002 Andy Grover - * Copyright (C) 2001, 2002 Paul Diefenbaugh - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or (at - * your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - * - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - */ - -#ifndef __ACPI_DRIVERS_H__ -#define __ACPI_DRIVERS_H__ - -#include -#include "acpi_bus.h" - - -#define ACPI_MAX_STRING 80 - - -/* -------------------------------------------------------------------------- - ACPI Bus - -------------------------------------------------------------------------- */ - -#define ACPI_BUS_COMPONENT 0x00010000 -#define ACPI_BUS_CLASS "system_bus" -#define ACPI_BUS_HID "ACPI_BUS" -#define ACPI_BUS_DRIVER_NAME "ACPI Bus Driver" -#define ACPI_BUS_DEVICE_NAME "System Bus" - - -/* -------------------------------------------------------------------------- - AC Adapter - -------------------------------------------------------------------------- */ - -#define ACPI_AC_COMPONENT 0x00020000 -#define ACPI_AC_CLASS "ac_adapter" -#define ACPI_AC_HID "ACPI0003" -#define ACPI_AC_DRIVER_NAME "ACPI AC Adapter Driver" -#define ACPI_AC_DEVICE_NAME "AC Adapter" -#define ACPI_AC_FILE_STATE "state" -#define ACPI_AC_NOTIFY_STATUS 0x80 -#define ACPI_AC_STATUS_OFFLINE 0x00 -#define ACPI_AC_STATUS_ONLINE 0x01 -#define ACPI_AC_STATUS_UNKNOWN 0xFF - - -/* -------------------------------------------------------------------------- - Battery - -------------------------------------------------------------------------- */ - -#define ACPI_BATTERY_COMPONENT 0x00040000 -#define ACPI_BATTERY_CLASS "battery" -#define ACPI_BATTERY_HID "PNP0C0A" -#define ACPI_BATTERY_DRIVER_NAME "ACPI Battery Driver" -#define ACPI_BATTERY_DEVICE_NAME "Battery" -#define ACPI_BATTERY_FILE_INFO "info" -#define ACPI_BATTERY_FILE_STATUS "state" -#define ACPI_BATTERY_FILE_ALARM "alarm" -#define ACPI_BATTERY_NOTIFY_STATUS 0x80 -#define ACPI_BATTERY_NOTIFY_INFO 0x81 -#define ACPI_BATTERY_UNITS_WATTS "mW" -#define ACPI_BATTERY_UNITS_AMPS "mA" - - -/* -------------------------------------------------------------------------- - Button - -------------------------------------------------------------------------- */ - -#define ACPI_BUTTON_COMPONENT 0x00080000 -#define ACPI_BUTTON_DRIVER_NAME "ACPI Button Driver" -#define ACPI_BUTTON_CLASS "button" -#define ACPI_BUTTON_FILE_INFO "info" -#define ACPI_BUTTON_TYPE_UNKNOWN 0x00 -#define ACPI_BUTTON_NOTIFY_STATUS 0x80 - -#define ACPI_BUTTON_SUBCLASS_POWER "power" -#define ACPI_BUTTON_HID_POWER "PNP0C0C" -#define ACPI_BUTTON_HID_POWERF "ACPI_FPB" -#define ACPI_BUTTON_DEVICE_NAME_POWER "Power Button (CM)" -#define ACPI_BUTTON_DEVICE_NAME_POWERF "Power Button (FF)" -#define ACPI_BUTTON_TYPE_POWER 0x01 -#define ACPI_BUTTON_TYPE_POWERF 0x02 - -#define ACPI_BUTTON_SUBCLASS_SLEEP "sleep" -#define ACPI_BUTTON_HID_SLEEP "PNP0C0E" -#define ACPI_BUTTON_HID_SLEEPF "ACPI_FSB" -#define ACPI_BUTTON_DEVICE_NAME_SLEEP "Sleep Button (CM)" -#define ACPI_BUTTON_DEVICE_NAME_SLEEPF "Sleep Button (FF)" -#define ACPI_BUTTON_TYPE_SLEEP 0x03 -#define ACPI_BUTTON_TYPE_SLEEPF 0x04 - -#define ACPI_BUTTON_SUBCLASS_LID "lid" -#define ACPI_BUTTON_HID_LID "PNP0C0D" -#define ACPI_BUTTON_DEVICE_NAME_LID "Lid Switch" -#define ACPI_BUTTON_TYPE_LID 0x05 - - -/* -------------------------------------------------------------------------- - Embedded Controller - -------------------------------------------------------------------------- */ - -#define ACPI_EC_COMPONENT 0x00100000 -#define ACPI_EC_CLASS "embedded_controller" -#define ACPI_EC_HID "PNP0C09" -#define ACPI_EC_DRIVER_NAME "ACPI Embedded Controller Driver" -#define ACPI_EC_DEVICE_NAME "Embedded Controller" -#define ACPI_EC_FILE_INFO "info" - -#ifdef CONFIG_ACPI_EC - -int acpi_ec_init (void); -void acpi_ec_exit (void); - -#endif - - -/* -------------------------------------------------------------------------- - Fan - -------------------------------------------------------------------------- */ - -#define ACPI_FAN_COMPONENT 0x00200000 -#define ACPI_FAN_CLASS "fan" -#define ACPI_FAN_HID "PNP0C0B" -#define ACPI_FAN_DRIVER_NAME "ACPI Fan Driver" -#define ACPI_FAN_DEVICE_NAME "Fan" -#define ACPI_FAN_FILE_STATE "state" -#define ACPI_FAN_NOTIFY_STATUS 0x80 - - -/* -------------------------------------------------------------------------- - PCI - -------------------------------------------------------------------------- */ - -#ifdef CONFIG_ACPI_PCI - -#define ACPI_PCI_COMPONENT 0x00400000 - -/* ACPI PCI Root Bridge (pci_root.c) */ - -#define ACPI_PCI_ROOT_CLASS "pci_bridge" -#define ACPI_PCI_ROOT_HID "PNP0A03" -#define ACPI_PCI_ROOT_DRIVER_NAME "ACPI PCI Root Bridge Driver" -#define ACPI_PCI_ROOT_DEVICE_NAME "PCI Root Bridge" - -int acpi_pci_root_init (void); -void acpi_pci_root_exit (void); - -/* ACPI PCI Interrupt Link (pci_link.c) */ - -#define ACPI_PCI_LINK_CLASS "pci_irq_routing" -#define ACPI_PCI_LINK_HID "PNP0C0F" -#define ACPI_PCI_LINK_DRIVER_NAME "ACPI PCI Interrupt Link Driver" -#define ACPI_PCI_LINK_DEVICE_NAME "PCI Interrupt Link" -#define ACPI_PCI_LINK_FILE_INFO "info" -#define ACPI_PCI_LINK_FILE_STATUS "state" - -int acpi_pci_link_check (void); -int acpi_pci_link_get_irq (acpi_handle handle, int index); -int acpi_pci_link_init (void); -void acpi_pci_link_exit (void); - -/* ACPI PCI Interrupt Routing (pci_irq.c) */ - -int acpi_pci_irq_add_prt (acpi_handle handle, int segment, int bus); - -/* ACPI PCI Device Binding (pci_bind.c) */ - -struct pci_bus; - -int acpi_pci_bind (struct acpi_device *device); -int acpi_pci_bind_root (struct acpi_device *device, acpi_pci_id *id, struct pci_bus *bus); - -#endif /*CONFIG_ACPI_PCI*/ - - -/* -------------------------------------------------------------------------- - Power Resource - -------------------------------------------------------------------------- */ - -#define ACPI_POWER_COMPONENT 0x00800000 -#define ACPI_POWER_CLASS "power_resource" -#define ACPI_POWER_HID "ACPI_PWR" -#define ACPI_POWER_DRIVER_NAME "ACPI Power Resource Driver" -#define ACPI_POWER_DEVICE_NAME "Power Resource" -#define ACPI_POWER_FILE_INFO "info" -#define ACPI_POWER_FILE_STATUS "state" -#define ACPI_POWER_RESOURCE_STATE_OFF 0x00 -#define ACPI_POWER_RESOURCE_STATE_ON 0x01 -#define ACPI_POWER_RESOURCE_STATE_UNKNOWN 0xFF - -#ifdef CONFIG_ACPI_POWER - -int acpi_power_get_inferred_state (struct acpi_device *device); -int acpi_power_transition (struct acpi_device *device, int state); -int acpi_power_init (void); -void acpi_power_exit (void); - -#endif - - -/* -------------------------------------------------------------------------- - Processor - -------------------------------------------------------------------------- */ - -#define ACPI_PROCESSOR_COMPONENT 0x01000000 -#define ACPI_PROCESSOR_CLASS "processor" -#define ACPI_PROCESSOR_HID "ACPI_CPU" -#define ACPI_PROCESSOR_DRIVER_NAME "ACPI Processor Driver" -#define ACPI_PROCESSOR_DEVICE_NAME "Processor" -#define ACPI_PROCESSOR_FILE_INFO "info" -#define ACPI_PROCESSOR_FILE_POWER "power" -#define ACPI_PROCESSOR_FILE_PERFORMANCE "performance" -#define ACPI_PROCESSOR_FILE_THROTTLING "throttling" -#define ACPI_PROCESSOR_FILE_LIMIT "limit" -#define ACPI_PROCESSOR_NOTIFY_PERFORMANCE 0x80 -#define ACPI_PROCESSOR_NOTIFY_POWER 0x81 -#define ACPI_PROCESSOR_LIMIT_NONE 0x00 -#define ACPI_PROCESSOR_LIMIT_INCREMENT 0x01 -#define ACPI_PROCESSOR_LIMIT_DECREMENT 0x02 - -int acpi_processor_set_thermal_limit(acpi_handle handle, int type); - - -/* -------------------------------------------------------------------------- - System - -------------------------------------------------------------------------- */ - -#define ACPI_SYSTEM_COMPONENT 0x02000000 -#define ACPI_SYSTEM_CLASS "system" -#define ACPI_SYSTEM_HID "ACPI_SYS" -#define ACPI_SYSTEM_DRIVER_NAME "ACPI System Driver" -#define ACPI_SYSTEM_DEVICE_NAME "System" -#define ACPI_SYSTEM_FILE_INFO "info" -#define ACPI_SYSTEM_FILE_EVENT "event" -#define ACPI_SYSTEM_FILE_ALARM "alarm" -#define ACPI_SYSTEM_FILE_DSDT "dsdt" -#define ACPI_SYSTEM_FILE_FADT "fadt" -#define ACPI_SYSTEM_FILE_SLEEP "sleep" -#define ACPI_SYSTEM_FILE_DEBUG_LAYER "debug_layer" -#define ACPI_SYSTEM_FILE_DEBUG_LEVEL "debug_level" - -#ifdef CONFIG_ACPI_SYSTEM - -int acpi_system_init (void); -void acpi_system_exit (void); - -#endif - - -/* -------------------------------------------------------------------------- - Thermal Zone - -------------------------------------------------------------------------- */ - -#define ACPI_THERMAL_COMPONENT 0x04000000 -#define ACPI_THERMAL_CLASS "thermal_zone" -#define ACPI_THERMAL_HID "ACPI_THM" -#define ACPI_THERMAL_DRIVER_NAME "ACPI Thermal Zone Driver" -#define ACPI_THERMAL_DEVICE_NAME "Thermal Zone" -#define ACPI_THERMAL_FILE_STATE "state" -#define ACPI_THERMAL_FILE_TEMPERATURE "temperature" -#define ACPI_THERMAL_FILE_TRIP_POINTS "trip_points" -#define ACPI_THERMAL_FILE_COOLING_MODE "cooling_mode" -#define ACPI_THERMAL_FILE_POLLING_FREQ "polling_frequency" -#define ACPI_THERMAL_NOTIFY_TEMPERATURE 0x80 -#define ACPI_THERMAL_NOTIFY_THRESHOLDS 0x81 -#define ACPI_THERMAL_NOTIFY_DEVICES 0x82 -#define ACPI_THERMAL_NOTIFY_CRITICAL 0xF0 -#define ACPI_THERMAL_NOTIFY_HOT 0xF1 -#define ACPI_THERMAL_MODE_ACTIVE 0x00 -#define ACPI_THERMAL_MODE_PASSIVE 0x01 -#define ACPI_THERMAL_PATH_POWEROFF "/sbin/poweroff" - - -/* -------------------------------------------------------------------------- - Debug Support - -------------------------------------------------------------------------- */ - -#define ACPI_DEBUG_RESTORE 0 -#define ACPI_DEBUG_LOW 1 -#define ACPI_DEBUG_MEDIUM 2 -#define ACPI_DEBUG_HIGH 3 -#define ACPI_DEBUG_DRIVERS 4 - -extern u32 acpi_dbg_level; -extern u32 acpi_dbg_layer; - -static inline void -acpi_set_debug ( - u32 flag) -{ - static u32 layer_save; - static u32 level_save; - - switch (flag) { - case ACPI_DEBUG_RESTORE: - acpi_dbg_layer = layer_save; - acpi_dbg_level = level_save; - break; - case ACPI_DEBUG_LOW: - case ACPI_DEBUG_MEDIUM: - case ACPI_DEBUG_HIGH: - case ACPI_DEBUG_DRIVERS: - layer_save = acpi_dbg_layer; - level_save = acpi_dbg_level; - break; - } - - switch (flag) { - case ACPI_DEBUG_LOW: - acpi_dbg_layer = ACPI_COMPONENT_DEFAULT | ACPI_ALL_DRIVERS; - acpi_dbg_level = DEBUG_DEFAULT; - break; - case ACPI_DEBUG_MEDIUM: - acpi_dbg_layer = ACPI_COMPONENT_DEFAULT | ACPI_ALL_DRIVERS; - acpi_dbg_level = ACPI_LV_FUNCTIONS | ACPI_LV_ALL_EXCEPTIONS; - break; - case ACPI_DEBUG_HIGH: - acpi_dbg_layer = 0xFFFFFFFF; - acpi_dbg_level = 0xFFFFFFFF; - break; - case ACPI_DEBUG_DRIVERS: - acpi_dbg_layer = ACPI_ALL_DRIVERS; - acpi_dbg_level = 0xFFFFFFFF; - break; - } -} - - -#endif /*__ACPI_DRIVERS_H__*/ diff -Nru a/drivers/acpi/include/adisasm.h b/drivers/acpi/include/adisasm.h --- a/drivers/acpi/include/adisasm.h Wed Oct 8 09:06:23 2003 +++ /dev/null Wed Dec 31 16:00:00 1969 @@ -1,76 +0,0 @@ -/****************************************************************************** - * - * Module Name: adisasm - AML disassembler - * - *****************************************************************************/ - -/* - * Copyright (C) 2000 - 2002, R. Byron Moore - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef _ADISASM -#define _ADISASM - - -extern u8 *dsdt_ptr; -extern u32 acpi_dsdt_length; -extern int optind; -extern char *optarg; -extern u8 *aml_start; -extern u32 aml_length; - - -int -getopt ( - int argc, - char **argv, - char *opts); - - -acpi_status -ad_aml_disassemble ( - char *filename); - -void -ad_print_statistics (void); - - -acpi_status -ad_find_dsdt( - u8 **dsdt_ptr, - u32 *dsdt_length); - -void -ad_dump_tables (void); - - -acpi_status -ad_get_tables ( - char *filename); - -acpi_status -ad_parse_tables (void); - -acpi_status -ad_display_tables (void); - -acpi_status -ad_display_statistics (void); - - -#endif -